package com.cx.service;

import com.cx.dto.TaskDTO;
import com.cx.dto.TaskPageDTO;
import com.cx.pojo.Task;
import com.cx.util.PageResult;
import com.cx.util.ResultUtil;
import com.cx.vo.CommonVO;
import com.cx.vo.StatusAndCountOfTaskVO;
import com.cx.vo.TaskVO;

import java.util.List;

/**
 * @Author: 晨曦
 * @Description: TODO
 * @DateTime: 2025/4/6 10:37
 **/
public interface TaskService {
    ResultUtil addTask(TaskDTO taskDTO);

    ResultUtil<TaskVO> selectTaskById(Integer id);

    ResultUtil updateTaskById(TaskDTO taskDTO);

    ResultUtil<PageResult<TaskVO>> page(TaskPageDTO taskPageDTO);

    ResultUtil updateStatusById(Integer id);

    ResultUtil deleteTaskById(Integer id);

    ResultUtil<List<StatusAndCountOfTaskVO>> selectStatusOfTasks();

    ResultUtil<List<CommonVO>> selectProjectOfTask();

   List<Task> selectTaskByProjectId(Integer id);

}
